/**
 * 全局常用函数和设置
 * @author CallMeZ callme-z@qq.com
 */

Core.Util = Core.Util || {};
Core.Util = {
	//按钮处理中的连接字符串 例子:提交中...
	btnProgressingStr : '中...',
	//按钮提交不可用
	btnDisable : function(btn){
		var tagName = btn[0].tagName.toLowerCase();
		if(tagName == 'input'){
			btn.val(btn.val() + this.btnProgressingStr);
		}else{
			var textnode = document.createTextNode(this.btnProgressingStr);
			btn[0].appendChild(textnode);
		}
		btn.addClass('disabled').data('submitLock', true); // 部分浏览器  标记disabled属性不能submit (.prop('disabled', true))
	},
	//按钮提交可以用
	btnEnable : function(btn){
		var tagName = btn[0].tagName.toLowerCase(),
			regExp = eval('/(' + this.btnProgressingStr + ')$/');
		if(tagName == 'input'){
			btn.val(btn.val().replace(regExp, ''));
		}else{
			btn.html(btn.html().replace(regExp, ''));
		}
		btn.removeClass('disabled').data('submitLock', false);
	},
	//显示人性化时间
	updateTime : function(elem){
		Core.use('timeago', function(){
			elem.timeago();
		});
	},
	//
	dialog: function(){
		var args = arguments;
		return Core.use('dialog', function(){
			args[0] = $.extend({
				title: '消息',
				content: false
			}, args[0]);
			return $.artDialog.apply(null, args);
		});
	},
	//扩展dialog功能 加入 tips提示
	tips : function (content, time, follow) {
		return Core.use('dialog', function(){
			return $.dialog({
			    title: false,
			    cancel: false,
			    content: '<div style="padding: 0 1em;">' + content + '</div>',
			    icon: 'succeed',
			    follow: follow,
			    time: time || 3000
			});
		});
	}
};

/**
 * 初始化功能
 */
(function(){
	//不支持placeholder浏览器下对placeholder进行处理
	if(document.createElement('input').placeholder !== '') {
		$('head').append('<style>.placeholder{color: #aaa;}</style>');
		$('[placeholder]').focus(function() {
			var input = $(this);

			if(input.val() == input.attr('placeholder')) {
				input.val('');
				input.removeClass('placeholder');
			}
		}).blur(function() {
			var input = $(this);
			//密码框空
			if(this.type === 'password') {
				return false;
			}
			if(input.val() == '' || input.val() == input.attr('placeholder')) {
				input.addClass('placeholder');
				input.val(input.attr('placeholder'));
			}
		}).blur().parents('form').submit(function() {
			$(this).find('[placeholder]').each(function() {
				var input = $(this);
				if(input.val() == input.attr('placeholder')) {
					input.val('');
				}
			});
		});
	}
})();

